Compute-aware resource configurations for a radio access network

ABSTRACT

Aspects of the present disclosure relate to allocating RAN resources among RAN slices using a machine learning model. In examples, the machine learning model may determine an optimal RAN resource configuration based on compute power needs. As a result, RAN resource allocation generation and compute power requirements may improve, even in instances with changing or unknown network conditions. In examples, a prediction engine may receive communication parameters and/or requirements associated with service-level agreements (SLAs) for applications executing at least partially at a device in communication with the RAN. The RAN may generate one or more RAN resource configuration for implementation among RAN slices. Upon a change in network conditions or SLA requirements, an optimal RAN configuration may be determined in terms of required compute power.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.17/334,577, filed on May 28, 2021, now U.S. Pat. No. 11,665,589, thedisclosure of which is hereby incorporated by reference in its entirety.

BACKGROUND

Demand for integration between a cloud network and a radio accessnetwork (RAN) and/or a core network for wireless telecommunications hasrapidly increased. The RAN provides wireless connectivity to mobilecomputing devices by converting radio frequency signals into data bitsand vice versa. The core network coordinates among various parts of theRAN and provides connectivity to a packet-based network (e.g., theInternet). Traditional wireless telecommunications deployed servers withhardware that was specialized to particular types of processing and wastypically built with a capacity to accommodate an estimated peak load ofthe network traffic. Use of cloud network technology, particularlyvirtual server technologies, has enabled decoupling of at least somewireless data processing from specialized hardware onto general-purposeservers. The general-purpose servers, combined with accelerators and thevirtualization technologies, are able to dynamically change resourceusage based on non-real-time and near real-time network demands.

With the advent of 5G, which is a system of mobile communications thatimproved upon aspects of the previous 4G system (reduced latency,increased bandwidth, etc.), the scope of mobile networks has increasedto provide a broad range of wireless services delivered across multipleplatforms and multi-layer networks. 5G specifications outline a host ofperformance requirements related to bandwidth, peak data rate, energyefficiency, reliability, latency (both user-plane and control-planelatency), traffic capacity, etc. To meet these requirements, the RANarchitecture has expanded. For instance, Multi-Access Edge Computing(MEC) brings applications from centralized datacenters to the networkedge, closer to end users. MEC provides low latency, high bandwidth, andreal-time access to RAN information. Distributing computing powerenables the high volume of 5G devices and facilitates disaggregated,virtual RANs to create additional access points. Network FunctionVirtualization (NFV) replaces network functions like firewalls, loadbalancers, and routers with virtualized instances that run as software.Enhanced Common Public Radio Interface (eCPRI) can be used, forinstance, for the front-haul interface of a cloud RAN (e.g., for thereal-time processing by the distributed unit (DU)).

A wireless telecommunication network is based on physical andgeographical constraints. For example, cell towers, which providecellular wireless coverage areas for mobile devices (e.g., smartphones),need to be physically distributed. Switches and servers, which processradio signals from cell towers into electrical or optical signals, needto be physically co-located or within a geographic range of each celltower. The switches and the RAN servers need to process and route thecellular data traffic in real-time. Further, a RAN may comprise multiple“slices,” where each slice has associated service-level guarantees andcomponents of the RAN are configured to process traffic for such slicesaccordingly. For example, a first slice may be a low-latencycommunication network (e.g., for substantially real-time processing),while a second slice may be a high-throughput communication network(e.g., for mobile broadband). Accordingly, traffic and associatedprocessing for each slice may be handled by the RAN so as to maintainsuch service-level guarantees, for example on a statistical basis.

However, allocating resources of the RAN to maintain the service-levelguarantees of each associated slice may be difficult. As virtualizationtechnologies are increasingly used for RAN workloads, scaling andoptimizing compute while delivering SLA requirements is crucial forcloud service providers and application developers.

It is with respect to these and other general considerations that theaspects disclosed herein have been made. Also, although relativelyspecific problems may be discussed, it should be understood that theexamples should not be limited to solving the specific problemsidentified in the background or elsewhere in this disclosure.

SUMMARY

According to the present disclosure, the above and other issues areresolved by allocating RAN resources among RAN slices according tooptimal compute power. For example, a network slice controller (NSC) maygenerate a RAN resource allocation or configuration. The generated RANresource configuration may be implemented by the RAN so as to allocateRAN resources among slices of the RAN accordingly.

In examples, communication parameters and/or requirements associatedwith service-level agreements (SLAs) for applications executing at leastpartially at a device in communication with the RAN may be provided to amachine learning model, where the machine learning model may determineone or more RAN resource configurations. In examples, the machinelearning model may determine an optimal RAN resource configuration basedon compute power needs. As a result, RAN resource allocation generationand compute power requirements may improve, even in instances withchanging or unknown network conditions.

In accordance with examples of the present disclosure, a system isdescribed. The system may include at least one processor; and memorystoring instructions that, when executed by the at least one processor,causes the system to perform a set of operations, the set of operationscomprising: receiving communication requirements from a plurality ofservice level agreements (SLAs); retrieving a model that predicts anamount of compute resources needed to implement resource allocationconfigurations of a radio access network (RAN), the model being trainedon training data mapping changes in RAN resource configurations tocompute resources needed at one or more stages in a physical layersoftware processing pipeline; generating, using the retrieved model, aresource allocation configuration for a set of resources of the RANbased on the received communication requirements; and implementing theresource allocation by forming a first RAN slice comprising a first setof logical resources and a second RAN slice comprising a second set oflogical resources.

In accordance with examples of the present disclosure, a method forallocating resources of a radio access network (RAN) is described. Themethod may include receiving communication requirements from a pluralityof service level agreements (SLAs); retrieving a model that predicts anamount of compute resources needed to implement resource allocationconfigurations of a radio access network (RAN), the model being trainedon training data mapping changes in RAN resource configurations tocompute resources needed at one or more stages in a physical layersoftware processing pipeline; generating, using the retrieved model, aresource allocation configuration for a set of resources of the RANbased on the received communication requirements; and implementing theresource allocation by forming a first RAN slice comprising a first setof logical resources and a second RAN slice comprising a second set oflogical resources.

In accordance with examples of the present disclosure, a method forallocating resources of a radio access network (RAN) to form a first RANslice and a second RAN slice is described. The method may include:receiving communication requirements from a plurality of service levelagreements (SLAs); retrieving a model that predicts an amount of computeresources needed to implement resource allocation configurations of aradio access network (RAN), the model being based on data mappingchanges in RAN resource configurations to compute resources needed atone or more stages in a physical layer software processing pipeline;receiving channel state information associated with a device incommunication with the RAN; generating, using the retrieved model, aresource allocation configuration for a set of resources of the RANbased on the received communication requirements and the channel stateinformation; and implementing the resource allocation, thereby formingthe first RAN slice comprising a first set of logical resources and thesecond RAN slice comprising a second set of logical resources.

This Summary is provided to introduce a selection of concepts in asimplified form, which is further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter. Additionalaspects, features, and/or advantages of examples will be set forth inpart in the following description and, in part, will be apparent fromthe description, or may be learned by practice of the disclosure.

BRIEF DESCRIPTIONS OF THE DRAWINGS

Non-limiting and non-exhaustive examples are described with reference tothe following figures.

FIG. 1 illustrates an overview of an example system for allocating RANresources in accordance to aspects of the present disclosure.

FIG. 2 illustrates examples of a far-edge data center of a RAN inaccordance with aspects of the present disclosure.

FIG. 3 illustrates examples of a RAN server in accordance with aspectsof the present disclosure.

FIG. 4 illustrates a system depicting aspects of resource scheduling fora RAN.

FIG. 5 illustrates an example of network slicing and logical to physicalresource mapping for a RAN.

FIG. 6 illustrates an example of a RAN configuration model and one ormore RAN resource configurations for implementation at a RAN.

FIG. 7 illustrates an overview of an example method for allocating RANresources according to the machine learning model techniques describedherein.

FIG. 8 is a block diagram illustrating example physical components of acomputing device with which aspects of the disclosure may be practiced.

FIG. 9A is a simplified diagram of a mobile computing device with whichaspects of the present disclosure may be practiced.

FIG. 9B is another simplified block diagram of a mobile computing devicewith which aspects of the present disclosure may be practiced.

DETAILED DESCRIPTION

Various aspects of the disclosure are described more fully below withreference to the accompanying drawings, which form a part hereof, andwhich show specific example aspects. However, different aspects of thedisclosure may be implemented in many different ways and should not beconstrued as limited to the aspects set forth herein; rather, theseaspects are provided so that this disclosure will be thorough andcomplete, and will fully convey the scope of the aspects to thoseskilled in the art. Practicing aspects may be as methods, systems, ordevices. Accordingly, aspects may take the form of a hardwareimplementation, an entirely software implementation or an implementationcombining software and hardware aspects. The following detaileddescription is, therefore, not to be taken in a limiting sense.

A mobile wireless telecommunication network may use a cloud service forimplementing a RAN. In this case, the cloud service connects celltowers, with which mobile devices (e.g., smartphones) connect, to thepublic network (e.g., the Internet) and/or private networks. The cloudservice provides virtual servers and other computing resources fordynamically scaling the computing capacity as needed based on the volumeof data traffic. In aspects, a cloud RAN infrastructure represents animplementation of cloud services for the RAN. In contrast to a typicalcloud service, the cloud RAN infrastructure includes geographical andphysical constraints as well as latency constraints imposed by RANstandards. The cloud RAN includes connection to at least one cell towerassociated with a Radio Unit (RU) and cloud servers associated with oneor more of a Distributed Unit (DU), a Central Unit (CU), and a RANIntelligent Controller (RIC). The cell tower is in the field, wheremobile devices connect over wireless cellular communications, and the RUof the cell tower connects to a DU of a RAN server at a far-edge datacenter. To enable real-time processing of RAN data traffic, the far-edgedata center is relatively close (e.g., a few kilometers) to the celltower. The DU is associated with switches and one or more RAN servers.The switches and the RAN server(s) associated with the DU process datain a series of operations or partitions associated with at least layerone (i.e., the physical layer) of the Open Systems Interconnection (OSI)model.

In examples, a RAN comprises multiple slices that are each used by arespective set of devices. The RAN components described herein may beallocated among the slices, thereby forming one or more logical networksusing the physical resources of the RAN. A network slice controller(NSC) may be used to manage resource allocation. Example RAN resourcesinclude, but are not limited to, resource blocks, time slots,numerology, and/or a number of multiple-input and multiple-output (MIMO)layers for each slice of the RAN. For example, RAN resources may beallocated according to service-level guarantees associated with theslices, such that each slice exhibits a requested set of characteristics(e.g., latency, a bit/packet error rate, associated energy consumption,or throughput). In some instances, resources may be allocated to meetservice-level guarantees on a statistical basis, where one or morecharacteristics of a slice may vary over time and exhibit a specifiedvariance and/or specified average for a predetermined period of timeaccording to an associated service-level guarantee.

In some examples, a RAN resource configuration that is implemented maynot be optimal in terms of compute power used. While a plurality of RANresource configurations may be capable of satisfying the same set ofservice-level agreement, examples provided herein identify a RANresource configuration optimized for compute power.

As discussed in more detail below, the present disclosure relates todetermining an optimal RAN resource configuration, where the optimal RANresource configuration may take into account various SLA requirementswhile providing a RAN resource configuration that uses an optimal amountof compute power. In examples, multiple RAN resource configurations maysupport multiple SLA requests from client devices; however, a selectedRAN resource configuration that minimizes the amount of computationalpower required may be implemented. Such an optimal RAN resourceconfiguration may be obtained by providing requirements, such asrequirements derived from or based on SLA requirements associated withdevices and/or applications implemented by such devices, to a RANconfiguration model. The RAN configuration model may be a heuristicsbased model. Alternatively, or in addition, the RAN configuration modelmay be a machine learning model trained using training data thatincludes requirements information (e.g., SLA requirements) and anassociated required compute power. In examples, one or more RAN resourceconfigurations may be provided by the RAN configuration model, where themodel requiring the least or minimum amount of compute power may beselected and then implemented for the RAN, such that RAN resourceallocation is responsive to changing network conditions.

FIG. 1 illustrates an overview of an example system 100 in which aconfiguration for allocating RAN resources may be used in accordancewith the aspects of the present disclosure. Cell towers 102A-C transmitand receive wireless communications with mobile computing devices 104A-B(e.g., smartphones) over a radio access network (RAN). The examplesystem 100 further includes far-edge data center 110 (switches, RANservers), near-edge data center 130 (core network servers), and clouddata center 150 (cloud services). In aspects, the example system 100corresponds to a cloud RAN infrastructure for a mobile wirelesstelecommunication network.

The far-edge data center 110 is a data center that is part of the cloudRAN, which includes distributed unit 112 (DU), central unit 118 (CU),and service application 120. In aspects, the far-edge data center 110enables cloud integration with a radio access network (RAN). Thefar-edge data center 110 includes a switch 114 and RAN servers 116. Theswitch 114 and the RAN servers 116 process incoming data traffic andoutgoing data traffic associated with layer one (the physical layer) andat least a part of layer two (MAC) of the OSI model. In aspects, thefar-edge data center 110 is generally geographically remote from thecloud data centers associated with the core network and cloud services.The remote site is in proximity to the cell towers. For example, theproximity in the present disclosure may be within a few kilometers ormore. In aspects, the upstream data traffic corresponds to data flowingfrom the cell towers 102A-C to servers 154 in the cloud data center 150(service). Similarly, the downstream data traffic corresponds to dataflowing from the cloud data center 150 (service) to the cell towers.

The near-edge data center 130 (e.g., hosting the core network) includesa central unit 132 (CU) and RAN intelligent controller 136 (RIC) (nearreal-time processing, which may be less strictly time-sensitive thanreal-time processing). As illustrated, CU 132 is associated with servers134 and RIC 136 is associated with servers 138. In aspects, thenear-edge data center 130 is at a regional site of a private cloudservice. For example, the regional site may be about tens of kilometersfrom the cell towers.

The cloud data center 150 (service) includes RIC 152 (non-real-timeprocessing) associated with servers 154. For example, RIC 152 processesnon-real-time service operations. In aspects, the cloud data center 150may be at a central location in a cloud RAN infrastructure. For example,the central locations may be hundreds of kilometers from the celltowers.

In aspects, the far-edge data center 110, which is closer to the celltowers 102A-C than the cloud data center 150, provides real-timeprocessing. In contrast, the cloud data center 150, which is thefurthest from the cell towers 102A-C in the cloud RAN infrastructure,provides processing in a non-real-time manner.

As described above, the RAN resources depicted by system 100 may beallocated to form multiple slices through which data from mobile devicesare communicated. For example, RIC 152 may comprise an NSC thatallocates RAN resources to form logical slices according to a set ofservice-level agreements (SLAs). As an example, RIC 152 may configureaspects of cell towers 102A-C, far-edge data center 110, and/ornear-edge data center 130. In examples, RIC 136 may include the NSCrather than RIC 152, as the additional latency (e.g., between cloud datacenter 150 and other RAN resources) compared to that of near-edge datacenter 130 may introduce additional complexity and/or result in reducedperformance. For example, an NSC at cloud data center 150 may generateRAN resource allocations further into the future (e.g., based onforecasted performance information further into the future) to accountfor the additional latency, which may result in reduced accuracy forexpected slice characteristics and associated generated rewardinformation.

An NSC (e.g., of RIC 136) may generate RAN resource configurations on aper-frame basis (e.g., every 10 milliseconds and/or at the same intervalas performance information is generated), such that RAN resources andconfigurations may be reconfigured as specified by the NSC after eachframe according to an optimal configuration as determined by aprediction engine as described herein. In other examples, RAN resourceconfigurations may be changed at a different frequency and/or may begenerated in response to the occurrence of one or more events (e.g.,based on determining a slice characteristic has exceeded a service-levelagreement or based on determining a number of devices of a slice hasexceeded a predetermined threshold). In examples, additional resourcesmay be added to or subtracted from an amount of available RAN resourcesbased on the changes in service-level agreements encountered. Forexample, as additional devices utilize the RAN, the RAN configurationmay change and/or may include additional resources previously not usedby the RAN.

The operational partitions 170 illustrate partitions processing datatraffic in the RAN. For example, the partitions may correspond tooperations associated with the OSI seven-layer model. In particular, aset of partitions associated with layer one 174 (the physical layer) isthe lowest layer.

In aspects, prior to processing data at layer one 174 involvesconversion of data associated with a radio frequency 172 (RF). For radiofrequency 172 (RF) data processing, the radio front-end partitionreceives and sends data through the cell towers 102A-C to mobilecomputing devices over wireless communications. The A/D 181A convertsanalog data from the radio front-end to digital data for the upstreamdata traffic. The D/A 181B converts digital data into analog data forthe downstream data traffic.

Partitions in layer one 174 (physical layer) may be associated withoperations for converting coded symbols associated with a bit streaminto a physical signal for transmission using communication media (e.g.,a physical wire or radio). In aspects, the operational partitions of thephysical layer may include, for processing upstream data traffic, CP182A, FFT 183A, Demap 184A, Channel 185A, Eq 186A, Demod 187A, Descram188A, Rate 189A, Decoding 190A, and CRC 191A. The physical layer mayfurther include, for processing downstream data traffic, CRC 191B,Coding 190A, Rate 189B, Scram 188B, Mod 187B, Layer 186B, Precode 185B,Map 184B, iFFT 183B, and CP 182B.

Partitions in layer two 176 (medium access control—MAC) may beassociated with operations for transferring data frames between networkhosts over a physical link. In aspects, partitions in layer twocorrespond to the network layer in the OSI seven-layer model. Low-MAC192 is the lowest partition in the layer two 176. Other partitions abovethe Low-MAC 192 include, an ascending sequence of layers, High-MAC 193,Low-Radio Link Control (RLC) 194, and High-RLC 195.

Partitions in the layer three 178 may be associated with operations forforwarding data packets through routers. In aspects, layer three 178corresponds to the network layer in the OSI seven-layer model. Thepartitions in layer three 178 may be associated with protocol-governedoperations such as Packet Data Convergence Protocol 196 (PDCP), RadioResource Control 197A (RRC) and Service Data Adaptation Protocol 197B(SDAP).

In aspects, a combination of DU 112 and CU 118 in the far-edge datacenter 110 may process partitions associated with layer one 174, layertwo 176, and at least a part of layer three 178. In particular,respective servers of RAN servers 116 include CPUs and a variety ofaccelerators for processing data associated with one or more partitionsof the operational partitions 170. Use of an accelerator for processinga partition reduces a workload on the CPU. In aspects, the acceleratorsare heterogeneous. Some accelerators include pre-programmed logic forperforming specific operational partitions. Some other accelerators areprogrammable. Some accelerators provide fast table lookups, while someother accelerators provide fast bit operations (e.g., graphics and videodata).

As described above, the RAN resources depicted by system 100 may beallocated to form multiple slices through which data from mobile devicesare communicated. For example, RIC 152 may comprise an NSC thatallocates RAN resources to form logical slices according to a set ofservice-level guarantees. As an example, RIC 152 may configure aspectsof cell towers 102A-C, far-edge data center 110, and/or near-edge datacenter 130. In examples, RIC 136 may include the NSC rather than RIC152, as the additional latency (e.g., between cloud data center 150 andother RAN resources) compared to that of near-edge data center 130 mayintroduce additional complexity and/or result in reduced performance.For example, an NSC at cloud data center 150 may generate RAN resourceallocations further into the future (e.g., based on forecastedperformance information further into the future) to account for theadditional latency, which may result in reduced accuracy for expectedslice characteristics and associated generated reward information.

As will be appreciated, the various methods, devices, applications,features, etc., described with respect to FIG. 1 are not intended tolimit the system 100 to being performed by the particular applicationsand features described. Accordingly, additional controllerconfigurations may be used to practice the methods and systems hereinand/or features and applications described may be excluded withoutdeparting from the methods and systems disclosed herein.

FIG. 2 illustrates an example of a far-edge data center 210. Thefar-edge data center 210 at least includes a switch 212 and RAN servers214-216. The switch 212 connects the cell towers (e.g., the cell towers102A-C as shown in FIG. 1 ) with one or more of the RAN servers 214-216of the far-edge data center 210. In aspects, the switch 212 is aprogrammable switch, which loads a program that instructs switching datatraffic to a particular RAN server. Additionally or alternatively, theprogram may monitor data traffic at the switch 212.

The respective RAN servers 214-218 include CPUs and heterogeneousaccelerators. For example, the heterogeneous accelerators may includeone or more of ASIC-based programmable switches, ASIC-based networkinterface controllers (NICs), neural processing unit (NPU)-based NICs,field-programmable gate array (FPGA)-based NICs, and the like. Othertypes of heterogeneous accelerators include graphical processing unit(GPU) and FPGA-based graphics accelerators.

In examples, switch 212 and servers 214-218 are RAN resources that maybe allocated (e.g., by an NSC) for various slices of the RAN accordingto aspects described herein. For example, RAN servers 214, 216, and/or218 may each process workloads of various slices of the RAN, accordingto service-level guarantees associated with the slice. As an example, alow-latency slice (e.g., for real-time Internet-of-things (IoT)processing) may be assigned more resources and/or resources at a higherpriority as compared to a throughput slice (e.g., for mobile broadband)where latency is a comparatively lower priority.

FIG. 3 illustrates examples of a RAN server in accordance with theaspects of the present disclosure. As illustrated, the RAN server 300includes a CPU 310, a set of GPUs 312A-C, FPGAs 314A-C, NPUs 316A-B,programmable switches 318A-B, and a network interface 308. Someaccelerators in the set of heterogeneous accelerators may bepre-programmed for performing a specific task. For example, the FPGA314A may be pre-programmed with code for decoding/coding of data (e.g.,Decoding 190A and Coding 190B as shown in FIG. 1 ) in layer one. Someother accelerators may be programmable by loading a code that performsoperations associated with a partition or a service application. Thenetwork interface 308 interfaces the CPU 310, the heterogeneousaccelerators, the cell towers, and the near-edge data center (corenetwork) for connecting with the cloud infrastructure and other RANservers and switches.

In aspects, the CPU 310 monitors a workload level of the CPU 310 andrespective accelerators. The CPU 310, based on the workload level, mayoffload a task being processed by the CPU 310 to one or more of theaccelerators with available processing resources. In aspects, the CPU310 allocates a cluster of accelerators for processing a task. Inexamples, resources of RAN server 300 (e.g., CPU 310, a set of GPUs312A-C, FPGAs 314A-C, NPUs 316A-B, programmable switches 318A-B, and anetwork interface 308) are configured by an NSC to allocate suchresources among a set of slices of a RAN according to aspects of thepresent disclosure.

FIG. 4 illustrates a system 400 depicting aspects of network schedulingfor a RAN. As illustrated, system 400 comprises network slice controller(NSC) 402 and RAN components 404. As discussed above, network slicecontroller 402 may be implemented as part of a RAN intelligentcontroller (RIC), such as RIC 136 or RIC 152 discussed above withrespect to system 100 in FIG. 1 .

RAN components 404 are illustrated as comprising distributed unit 422,central unit 424, and the radio unit 420. It will be appreciated thatsuch components are provided as example RAN components and that any of avariety of additional or alternative RAN components may be used in otherexamples. Further, such aspects may be similar to those discussed abovewith respect to FIGS. 1-3 and are therefore not necessarily re-describedbelow in detail. For example, RAN components 404 may have associatedphysical resources that are allocated according to aspects describedherein, such as resource blocks, time slots, numerology, and/or a numberof MIMO layers.

NSC 402 configures RAN components 404 to allocate associated RANresources, thereby forming one or more logical slices using RANcomponents 404. As illustrated, slice 406 and slice 408 are logicallyimplemented using the RAN components 404. For example, slice 406 maycomprise resources of distributed unit 422, central unit 424, and radiounit 420 to facilitate network communications with a set of associateddevices (not pictured). Similarly, slice 408 may comprise resources ofdistributed unit 422, central unit 424, and radio unit 420 to facilitatenetwork communications with another set of associated devices (notpictured). It will be appreciated that each set of respective devicesneed not be mutually exclusive. Further, in some examples, slices 406and 408 may be isolated from one another, such that devices associatedwith one slice are isolated from devices associated with another slice.The NSC 402 may configure RAN components 404 (e.g., associated withphysical RAN resources) to form slices 406 and 408 each have a resultingset of logical resources allocated among devices of each slices 406 and408.

The system 400 is further illustrated as comprising performanceinformation data store 410, which may store performance informationassociated with slices 406 and 408. In examples, performance informationdata store 410 may form part of a RIC, such as RIC 136 or RIC 152discussed above with respect to system 100 in FIG. 1 . Exampleperformance information includes, but is not limited to, (a) wirelesschannel information like channel state information and received signalstrength information; (b) data traffic, such as an amount of data theapplication requests to be served; and (c) observed SLAs such asthroughput, bit/packet error rate, number of scheduled transmissions forenergy consumption data estimation and latency information.

In some instances, NSC 402 may be able to determine and/or configure atleast a part of the resource allocation behavior of local scheduler 416and/or local scheduler 418, such that a RAN resource allocationgenerated by NSC 402 may specify or otherwise account for the behaviorof the local schedulers. The NSC 402 applies aspects of machine learningto generate RAN resource configurations as described herein. Asillustrated, NSC 402 comprises a prediction engine 412 which may includea model 414. The model 414 may be a machine learning model trained ondata reflecting compute power and SLA parameters and/or requirements. Inexamples, prediction engine 412 processes receives SLA parameters and/orcharacteristics together with CSI information to generate RAN resourceconfigurations. Thus, NSC 402 may generate a RAN resource configurationto meet a set of service-level agreements for slices 406 and 408. TheRAN resource configuration may be optimized in terms of compute power;the RAN resource configuration determination by NSC 402 is used toconfigure RAN components 404, as illustrated by arrow 428. Accordingly,one or more CPUs may be reliably provisioned to meet frame processingtargets while minimizing a required compute power.

It will be appreciated that while system 400 is illustrated ascomprising two local schedulers 416 and 418, any number of localschedulers may be used. Similarly, it will be appreciated that similartechniques may be used to address potentially unknown behaviors of anyof a variety of other components of a RAN.

FIG. 5 depicts additional details directed to resource scheduling inaccordance with example of the present disclosure. In examples, the anetwork slice controller 504 may utilize a plurality of MAC schedulersto interface with logical radio resources 508 in an intelligent manner.That is, the network slice controller 504 may slice the physical radioresources 512 into various slices 518 accessible via the one or more MACschedulers. The network slice controller 504 may map the logical radioresources 508 to the physical radio resource 512 as depicted in theexample of FIG. 5 . The physical radio resources 512 may include but arenot limited to time resources, frequency resources, and/or MIMOresources. A plurality of configurations that include time resources,frequency resources, and MIMO resources may meet service-level agreementrequirements; however, a configuration may be selected based on theamount of compute power determined or predicted to be used by theconfiguration. Thu, the compute resources of the RAN may be dynamicallyprovisioned to run the RAN workloads in order to minimize the amount ofcompute resources while still meeting application service-levelagreements associated with device.

In examples, the service-level agreements may be implemented orotherwise requested by an application at least partially executed at adevice, where such application may request that the RAN provisioncommunication or connectivity resources in accordance with aservice-level agreement. In examples, the service-level agreement mayindicate an one or more of an amount of throughput (e.g., broadband)needed, a desired or maximum latency, a bit or packet error rate, and/oran amount of energy consumed. Accordingly, the network slice controller504 may determine one or more configuration of physical radio resources512 that effectively handle or otherwise meet one or more SLAs.

FIG. 6 illustrates details associated with generating one or more RANconfigurations in accordance with examples of the present disclosure.More specifically, CSI information 602 and one or more SLAs may bereceived at a RAN and may include an SLA identifier 616 together withone or more communication parameters or requirements 620. The one ormore communication parameters or requirements 620 may identify alocation of such parameters or otherwise may include such parametersdirectly. The SLAs to be handled by a RAN may be provided to the RANconfiguration model 608. Alternatively, or in addition, the parametersor requirements from the SLAs 616 may be provided to the RANconfiguration model 608. The parameters or requirements provided to theRAN configuration model 608 may represent a sum total or cumulativetotal of requested resources. For example, the throughput requested byeach SLA may be summed and provided to the RAN configuration model 608.The RAN configuration model may generate one or more RAN resourceconfigurations 612A-N based on the CSI information 602 and theparameters or requirements provided to the RAN configuration model 608.

In some examples, the RAN configuration model 608 may heuristicallydetermine RAN resource configurations 612A-N based on the CSIinformation 602 and the parameters or requirements provided to the RANconfiguration model 608. In other examples, the RAN configuration model608 may provide the CSI information 602 and the parameters orrequirements to a machine learning model such that the machine learningmodel trained on data including parameters and requirements togetherwith respective RAN resource configurations 612A-N and compute usage maygenerate or otherwise output a RAN resource configuration 612A. Inexamples, the RAN resource configuration 612A output from the machinelearning model may be an optimal resource configuration when optimizedfor compute power usage. That is, multiple RAN resource configurations612A-N may satisfy the SLA parameters or requirements 604; however, theRAN configuration model 608 may output or otherwise determine an optimalRAN resource configuration 612A based on an amount of compute powerrequired or otherwise predicted to be used with the CSI information 602and a selected RAN resource configuration 612A. In some examples, theSLA parameters and/or requirements 604 may not change from one frame toanother; however, the CSI information 602 or other network condition maychange. Accordingly, the RAN configuration model 608 may generate adifferent RAN resource configuration 612A-N based on the change in CSIinformation 602 or change in network conditions. Accordingly, the RANmay be dynamically re-provisioned to meet SLAs while minimizing computeusage.

Alternatively, or in addition, based on minimizing the compute power,conforming to the SLA requirements, and meeting 5G frame processingdeadlines set by 3GPP standards for HARQ retransmissions, both computepower required and SLA requirements may be represented in terms of RANresources and wireless channel information. Accordingly, the RANconfiguration model 608 may output or otherwise determine an optimal RANresource configuration 612A that minimizes compute power and satisfiesSLA constraints. That is, the RAN configuration model 608 may receiveSLA requirements and the history of wireless channel information topredict wireless channel information and estimate the RAN resources andcompute required.

Each RAN resource configuration 612A-N may include informationidentifying a slice 624 together with a mapping from the logical radioresources to physical radio resources. In examples, the RAN resourceconfiguration includes resource blocks, modulation, time, and MIMOlayers. The RAN framework described with respect to FIGS. 1-6 differsfrom a one-sized fits all approach which treats all end-devices the same(similar to WiFi 802.11n) and static network slicing (where thebandwidth is statically partitioned among different slices).

In examples, the machine learning model may be trained based on trainingdata similar to the SLA parameters and/or requirements 604 and CSIinformation 602. In some examples, a predicted amount of computeresources may be associated with a resource configuration meeting SLAparameters and/or requirements; such predicted compute amount may begenerated from a pipeline 632. In examples, the pipeline 632 mayincorporate stages including but not limited to an FFT stage 634, CSIstage 636, zeroforcing stage 638, demodulation stage 640, and/ordecoding stage 644.

As another example, to represent compute power as a function of RANresource configuration, one or more empirical models that representcomputer power required as a function of RAN resource configuration maybe utilized. The empirical models are directed to evaluating howchanging individual RAN configuration parameters impacts computeresources required for each of the stages in the physical layer softwareprocessing pipeline 632, such as but not limited to the an FFT stage634, CSI estimation stage 636, zeroforcing stage 638, demodulation stage640, and decoding stage 644. For each individual parameter, theempirical models may be combined resulting in an empirical model thatpredicts compute required for a particular RAN configuration. With sucha model, CPUs can be reliably provisioned to meet a frame processingtarget.

FIG. 7 illustrates an overview of an example method 700 for allocatingRAN resources according to the machine learning model techniquesdescribed herein. A general order of the operations for the method 700is shown in FIG. 7 . Generally, the method 700 begins with startoperation 702 and ends with end operation 712. The method 700 mayinclude more or fewer steps or may arrange the order of the stepsdifferently than those shown in FIG. 7 . The method 700 can be executedas a set of computer-executable instructions executed by a computersystem and encoded or stored on a computer readable medium. Further, themethod 700 can be performed by gates or circuits associated with aprocessor, an ASIC, an FPGA, a SOC or other hardware device.Hereinafter, the method 700 shall be explained with reference to thesystems, components, devices, modules, software, data structures, datacharacteristic representations, signaling diagrams, methods, etc.,described in conjunction with FIGS. 1-6 and 8-9B. For example, aspectsof method 700 may be performed by an NSC (e.g., NSC 402 in FIG. 4 , asmay be implemented by a RIC (e.g., RIC 136 or RIC 152 in FIG. 1 ).

Following start operation 702, the method 700 obtains SLA requirementsand/or parameters at operation 704. In some examples, the SLA parametersand/or requirements may not change from one frame to another; however,the CSI information or other network condition may change.

At operation 706, a plurality of RAN resource configurations may begenerated based on the SLA and/or CSI information obtained at operation704. For example, a RAN configuration model may heuristically determineRAN resource configurations, such as RAN resource configurations 612A-Nbased on the CSI and the parameters or requirements provided to the RANconfiguration model. In other examples, a machine learning model trainedon data including parameters and requirements together with respectiveRAN resource configurations and compute usage may generate or otherwiseoutput a RAN resource configuration. In examples, the RAN resourceconfiguration output from the machine learning model may be an optimalresource configuration when optimized for compute power usage. That is,multiple RAN resource configurations may satisfy the SLA parameters orrequirements; however, the RAN configuration model may output orotherwise determine an optimal resource configuration based on an amountof compute power required or otherwise predicted to be used with the CSIinformation and a selected RAN resource configuration.

Flow progresses to operation 708, where an optimal RAN resourceconfiguration is selected. As described above, the RAN resourceconfiguration may utilize an optimal amount of compute resources and maybe generated based on a set of service-level guarantees associated withone or more slices of the RAN. In some examples, a plurality of RANresource configurations may be generated at 706 and an optimal RANresource configuration is selected at 708. In other examples, a singleRAN resource configuration is provided at 706 and selected at 708.

At operation 710, the selected RAN resource configuration is implementedin the RAN. For example, operation 710 may comprise communicating withone or more RAN resources (e.g., as described above with respect to FIG.1 and/or RAN components 404 in FIG. 4 ) to configure the resourcesaccording to the RAN resource allocation.

An arrow is illustrated from operation 710 to operation 704 to indicatethat flow may loop between operations 704-710, thereby dynamicallyconfiguring RAN resources according to the optimal RAN resourceconfiguration techniques described herein. In examples, method 700 isperformed on a frame-by-frame basis, where a RAN resource configurationis generated and implemented for each frame of the RAN. As anotherexamples, method 700 may be performed in batches (e.g., such thatoperation 710 comprises providing an indication of a set of RAN resourceconfigurations for multiple frames) or may be performed in response toone or more events, among other examples. Method 700 may eventuallyterminate at operation 712.

FIG. 8 is a block diagram illustrating physical components (e.g.,hardware) of a computing device 800 with which aspects of the disclosuremay be practiced. The computing device components described below may besuitable for the computing devices described above. In a basicconfiguration, the computing device 800 may include at least oneprocessing unit 802 and a system memory 804. Depending on theconfiguration and type of computing device, the system memory 804 maycomprise, but is not limited to, volatile storage (e.g., random accessmemory), non-volatile storage (e.g., read-only memory), flash memory, orany combination of such memories. The system memory 804 may include anoperating system 805 and one or more program tools 806 suitable forperforming the various aspects disclosed herein such. The operatingsystem 805, for example, may be suitable for controlling the operationof the computing device 800. Furthermore, aspects of the disclosure maybe practiced in conjunction with a graphics library, other operatingsystems, or any other application program and is not limited to anyparticular application or system. This basic configuration isillustrated in FIG. 8 by those components within a dashed line 808. Thecomputing device 800 may have additional features or functionality. Forexample, the computing device 800 may also include additional datastorage devices (removable and/or non-removable) such as, for example,magnetic disks, optical disks, or tape. Such additional storage isillustrated in FIG. 8 by a removable storage device 809 and anon-removable storage device 810.

As stated above, a number of program tools and data files may be storedin the system memory 804. While executing on the at least one processingunit 802, the program tools 806 (e.g., an application 820) may performprocesses including, but not limited to, the aspects, as describedherein. The application 820 includes a prediction engine 822 and a model824, aspects of which are described in more detail with regard to atleast FIGS. 4 and 6 . Other program tools that may be used in accordancewith aspects of the present disclosure may include electronic mail andcontacts applications, word processing applications, spreadsheetapplications, database applications, slide presentation applications,drawing or computer-aided application programs, etc.

Furthermore, aspects of the disclosure may be practiced in an electricalcircuit comprising discrete electronic elements, packaged or integratedelectronic chips containing logic gates, a circuit utilizing amicroprocessor, or on a single chip containing electronic elements ormicroprocessors. For example, aspects of the disclosure may be practicedvia a system-on-a-chip (SOC) where each or many of the componentsillustrated in FIG. 8 may be integrated onto a single integratedcircuit. Such an SOC device may include one or more processing units,graphics units, communications units, system virtualization units, andvarious application functionality all of which are integrated (or“burned”) onto the chip substrate as a single integrated circuit. Whenoperating via an SOC, the functionality, described herein, with respectto the capability of client to switch protocols may be operated viaapplication-specific logic integrated with other components of thecomputing device 800 on the single integrated circuit (chip). Aspects ofthe disclosure may also be practiced using other technologies capable ofperforming logical operations such as, for example, AND, OR, and NOT,including but not limited to mechanical, optical, fluidic, and quantumtechnologies. In addition, aspects of the disclosure may be practicedwithin a general purpose computer or in any other circuits or systems.

The computing device 800 may also have one or more input device(s) 812,such as a keyboard, a mouse, a pen, a sound or voice input device, atouch or swipe input device, etc. The output device(s) 814 such as adisplay, speakers, a printer, etc. may also be included. Theaforementioned devices are examples and others may be used. Thecomputing device 800 may include one or more communication connections816 allowing communications with other computing devices 850. Examplesof the communication connections 816 include, but are not limited to,radio frequency (RF) transmitter, receiver, and/or transceivercircuitry; universal serial bus (USB), parallel, and/or serial ports.

The term computer readable media as used herein may include computerstorage media. Computer storage media may include volatile andnonvolatile, removable and non-removable media implemented in any methodor technology for storage of information, such as computer readableinstructions, data structures, or program tools. The system memory 804,the removable storage device 809, and the non-removable storage device810 are all computer storage media examples (e.g., memory storage).Computer storage media may include RAM, ROM, electrically erasableread-only memory (EEPROM), flash memory or other memory technology,CD-ROM, digital versatile disks (DVD) or other optical storage, magneticcassettes, magnetic tape, magnetic disk storage or other magneticstorage devices, or any other article of manufacture which can be usedto store information and which can be accessed by the computing device800. Any such computer storage media may be part of the computing device800. Computer storage media does not include a carrier wave or otherpropagated or modulated data signal.

Communication media may be embodied by computer readable instructions,data structures, program tools, or other data in a modulated datasignal, such as a carrier wave or other transport mechanism, andincludes any information delivery media. The term “modulated datasignal” may describe a signal that has one or more characteristics setor changed in such a manner as to encode information in the signal. Byway of example, and not limitation, communication media may includewired media such as a wired network or direct-wired connection, andwireless media such as acoustic, radio frequency (RF), infrared, andother wireless media.

FIGS. 9A and 9B illustrate a computing device or mobile computing device900, for example, a mobile telephone, a smart phone, wearable computer(such as a smart watch), a tablet computer, a laptop computer, and thelike, with which aspects of the disclosure may be practiced. In someaspects, the client utilized by a user (e.g., as an operator of serversin the far-edge data center in FIG. 1 ) may be a mobile computingdevice. With reference to FIG. 7A, one aspect of a mobile computingdevice 900 for implementing the aspects is illustrated. In a basicconfiguration, the mobile computing device 900 is a handheld computerhaving both input elements and output elements. The mobile computingdevice 900 typically includes a display 905 and one or more inputbuttons 910 that allow the user to enter information into the mobilecomputing device 900. The display 905 of the mobile computing device 900may also function as an input device (e.g., a touch screen display). Ifincluded as an optional input element, a side input element 915 allowsfurther user input. The side input element 915 may be a rotary switch, abutton, or any other type of manual input element. In alternativeaspects, mobile computing device 900 may incorporate more or less inputelements. For example, the display 905 may not be a touch screen in someaspects. In yet another alternative aspect, the mobile computing device900 is a portable phone system, such as a cellular phone. The mobilecomputing device 900 may also include an optional keypad 935. Optionalkeypad 935 may be a physical keypad or a “soft” keypad generated on thetouch screen display. In various aspects, the output elements includethe display 905 for showing a graphical user interface (GUI), a visualindicator 920 (e.g., a light emitting diode), and/or an audio transducer925 (e.g., a speaker). In some aspects, the mobile computing device 900incorporates a vibration transducer for providing the user with tactilefeedback. In yet another aspect, the mobile computing device 900incorporates input and/or output ports, such as an audio input (e.g., amicrophone jack), an audio output (e.g., a headphone jack), and a videooutput (e.g., a HDMI port) for sending signals to or receiving signalsfrom an external device.

FIG. 9B is a block diagram illustrating the architecture of one aspectof computing device, a server (e.g., the RAN servers 116 and the servers134, and other servers as shown in FIG. 1 ), a mobile computing device,etc. That is, the mobile computing device 900 can incorporate a system902 (e.g., a system architecture) to implement some aspects. The system902 can implemented as a “smart phone” capable of running one or moreapplications (e.g., browser, e-mail, calendaring, contact managers,messaging clients, games, and media clients/players). In some aspects,the system 902 is integrated as a computing device, such as anintegrated digital assistant (PDA) and wireless phone.

One or more application programs 966 may be loaded into the memory 962and run on or in association with the operating system 964. Examples ofthe application programs include phone dialer programs, e-mail programs,information management (PIM) programs, word processing programs,spreadsheet programs, Internet browser programs, messaging programs, andso forth. The system 902 also includes a non-volatile storage area 968within the memory 962. The non-volatile storage area 968 may be used tostore persistent information that should not be lost if the system 902is powered down. The application programs 966 may use and storeinformation in the non-volatile storage area 968, such as e-mail orother messages used by an e-mail application, and the like. Asynchronization application (not shown) also resides on the system 902and is programmed to interact with a corresponding synchronizationapplication resident on a host computer to keep the information storedin the non-volatile storage area 968 synchronized with correspondinginformation stored at the host computer. As should be appreciated, otherapplications may be loaded into the memory 962 and run on the mobilecomputing device 900 described herein.

The system 902 has a power supply 970, which may be implemented as oneor more batteries. The power supply 970 might further include anexternal power source, such as an AC adapter or a powered docking cradlethat supplements or recharges the batteries.

The system 902 may also include a radio interface layer 972 thatperforms the function of transmitting and receiving radio frequencycommunications. The radio interface layer 972 facilitates wirelessconnectivity between the system 902 and the “outside world,” via acommunications carrier or service provider. Transmissions to and fromthe radio interface layer 972 are conducted under control of theoperating system 964. In other words, communications received by theradio interface layer 972 may be disseminated to the applicationprograms 966 via the operating system 964, and vice versa.

The visual indicator 920 (e.g., LED) may be used to provide visualnotifications, and/or an audio interface 974 may be used for producingaudible notifications via the audio transducer 925. In the illustratedconfiguration, the visual indicator 920 is a light emitting diode (LED)and the audio transducer 925 is a speaker. These devices may be directlycoupled to the power supply 970 so that when activated, they remain onfor a duration dictated by the notification mechanism even though theprocessor 960 and other components might shut down for conservingbattery power. The LED may be programmed to remain on indefinitely untilthe user takes action to indicate the powered-on status of the device.The audio interface 974 is used to provide audible signals to andreceive audible signals from the user. For example, in addition to beingcoupled to the audio transducer 925, the audio interface 974 may also becoupled to a microphone to receive audible input, such as to facilitatea telephone conversation. In accordance with aspects of the presentdisclosure, the microphone may also serve as an audio sensor tofacilitate control of notifications, as will be described below. Thesystem 902 may further include a video interface 976 that enables anoperation of an on-board camera 930 to record still images, videostream, and the like.

A mobile computing device 900 implementing the system 902 may haveadditional features or functionality. For example, the mobile computingdevice 900 may also include additional data storage devices (removableand/or non-removable) such as, magnetic disks, optical disks, or tape.Such additional storage is illustrated in FIG. 9B by the non-volatilestorage area 968.

Data/information generated or captured by the mobile computing device900 and stored via the system 902 may be stored locally on the mobilecomputing device 900, as described above, or the data may be stored onany number of storage media that may be accessed by the device via theradio interface layer 972 or via a wired connection between the mobilecomputing device 900 and a separate computing device associated with themobile computing device 900, for example, a server computer in adistributed computing network, such as the Internet. As should beappreciated such data/information may be accessed via the mobilecomputing device 900 via the radio interface layer 972 or via adistributed computing network. Similarly, such data/information may bereadily transferred between computing devices for storage and useaccording to well-known data/information transfer and storage means,including electronic mail and collaborative data/information sharingsystems.

The description and illustration of one or more aspects provided in thisapplication are not intended to limit or restrict the scope of thedisclosure as claimed in any way. The claimed disclosure should not beconstrued as being limited to any aspect, for example, or detailprovided in this application. Regardless of whether shown and describedin combination or separately, the various features (both structural andmethodological) are intended to be selectively included or omitted toproduce an embodiment with a particular set of features. Having beenprovided with the description and illustration of the presentapplication, one skilled in the art may envision variations,modifications, and alternate aspects falling within the spirit of thebroader aspects of the general inventive concept embodied in thisapplication that do not depart from the broader scope of the claimeddisclosure.

The present disclosure relates to systems and methods for determining aRAN resource configuration according to at least the examples providedin the sections below:

(A1) In one aspect, some examples include a method for allocatingresources of a radio access network (RAN). The method may include:receiving communication requirements from a plurality of service levelagreements (SLAs); retrieving a model that predicts an amount of computeresources needed to implement resource allocation configurations of aradio access network (RAN), the model being trained on training datamapping changes in RAN resource configurations to compute resourcesneeded at one or more stages in a physical layer software processingpipeline; generating, using the retrieved model, a resource allocationconfiguration for a set of resources of the RAN based on the receivedcommunication requirements; and implementing the resource allocation byforming a first RAN slice comprising a first set of logical resourcesand a second RAN slice comprising a second set of logical resources.

(A2) In some examples of A1, the set of resources of the RAN comprises alocal scheduler of the first RAN slice to allocate the first set oflogical resources among a set of devices associated with the first RANslice.

(A3) In some examples of A1-A2, the generated resource allocationconfiguration for the set of resources of the RAN based on the receivedcommunication requirements is a resource allocation configuration havinga lowest amount of compute required.

(A4) In some examples of A1-A3, generating the resource allocationconfiguration for the set of resources of a RAN includes: receivingcommunication requirements for a plurality of different SLAs;generating, using the retrieved model, a second resource allocationconfiguration for the set of resources of the RAN based on the receivedcommunication requirements for the plurality of different SLAs; andimplementing the second resource allocation by forming a different firstRAN slice comprising a third set of logical resources and a differentsecond RAN slice comprising a fourth set of logical resources.

(A5) In some examples of A1-A4, the resource allocation is for a firstframe of the RAN and the second resource allocation is for a frame afterthe first frame.

(A6) In some examples of A1-A5, the second resource allocation comprisesan indication of at least one of: a resource block allocation; a timeslot allocation; a numerology allocation; or a multiple-input andmultiple-output (MIMO) layer allocation.

(A7) In some examples of A1-A6, the method further includes: receivingan indication that network conditions of the RAN have changed; andgenerating a second resource allocation configuration for the set ofresources of the RAN based on the received communication requirements.

In yet another aspect, some examples include a system including one ormore processors and memory coupled to the one or more processors, thememory storing one or more instructions which when executed by the oneor more processors, causes the one or more processors to perform any ofthe methods described herein (e.g., A1-A7 described above).

In yet another aspect, some examples include a computer-readable storagemedium storing one or more programs for execution by one or moreprocessors of a device, the one or more programs including instructionsfor performing any of the methods described herein (e.g., A1-A7described above).

(B1) In one aspect, some examples include a method for allocatingresources of a radio access network (RAN) to form a first RAN slice anda second RAN slice. The method may include receiving communicationrequirements from a plurality of service level agreements (SLAs);retrieving a model that predicts an amount of compute resources neededto implement resource allocation configurations of a radio accessnetwork (RAN), the model being based on data mapping changes in RANresource configurations to compute resources needed at one or morestages in a physical layer software processing pipeline; receivingchannel state information associated with a device in communication withthe RAN; generating, using the retrieved model, a resource allocationconfiguration for a set of resources of the RAN based on the receivedcommunication requirements and the channel state information; andimplementing the resource allocation, thereby forming the first RANslice comprising a first set of logical resources and the second RANslice comprising a second set of logical resources.

(B2) In some examples of B1, the generated resource allocationconfiguration for the set of resources of the RAN based on the receivedcommunication requirements and the channel state information is aresource allocation configuration having a lowest amount of computerequired.

(B3) In some examples of B1-B2, generating the resource allocationconfiguration for the set of resources of a RAN includes receivingcommunication requirements for a plurality of different SLAs;generating, using the model, a second resource allocation configurationfor the set of resources of the RAN based on the received communicationrequirements for the plurality of different SLAs; and implementing thesecond resource allocation, thereby forming a different first RAN slicecomprising a third set of logical resources and a different second RANslice comprising a fourth set of logical resources.

(B4) In some examples of B1-B3, the resource allocation comprises anindication of at least one of: a resource block allocation; a time slotallocation; a numerology allocation; or a multiple-input andmultiple-output (MIMO) layer allocation.

(B5) In some examples of B1-B4, the resource allocation is for a firstframe of the RAN and the second resource allocation is for a frame afterthe first frame.

(B6) In some examples of B1-B5, the first RAN slice is a low-latencynetwork and the second RAN slice is a mobile broadband network.

In yet another aspect, some examples include a system including one ormore processors and memory coupled to the one or more processors, thememory storing one or more instructions which when executed by the oneor more processors, causes the one or more processors to perform any ofthe methods described herein (e.g., B1-B6 described above).

In yet another aspect, some examples include a computer-readable storagemedium storing one or more programs for execution by one or moreprocessors of a device, the one or more programs including instructionsfor performing any of the methods described herein (e.g., B1-B6described above).

Any of the one or more above aspects in combination with any other ofthe one or more aspect. Any of the one or more aspects as describedherein.

What is claimed is:
 1. A system comprising: at least one processor; andmemory storing instructions that, when executed by the at least oneprocessor, causes the system to perform a set of operations, the set ofoperations comprising: receiving communication requirements from aplurality of service level agreements (SLAs); retrieving a model thatpredicts an amount of compute resources needed to implement resourceallocation configurations of a radio access network (RAN), the modelbeing trained on training data mapping changes in RAN resourceconfigurations to compute resources needed at one or more stages in aphysical layer software processing pipeline; generating, using theretrieved model, a resource allocation configuration for a set ofresources of the RAN based on the received communication requirements;and implementing the resource allocation by forming a first RAN slicecomprising a first set of logical resources and a second RAN slicecomprising a second set of logical resources.
 2. The system of claim 1,wherein the set of resources of the RAN comprises a local scheduler ofthe first RAN slice to allocate the first set of logical resources amonga set of devices associated with the first RAN slice.
 3. The system ofclaim 1, wherein the generated resource allocation configuration for theset of resources of the RAN based on the received communicationrequirements is a resource allocation configuration having a lowestamount of compute required.
 4. The system of claim 1, wherein generatingthe resource allocation configuration for the set of resources of a RANincludes: receiving communication requirements for a plurality ofdifferent SLAs; generating, using the retrieved model, a second resourceallocation configuration for the set of resources of the RAN based onthe received communication requirements for the plurality of differentSLAs; and implementing the second resource allocation by forming adifferent first RAN slice comprising a third set of logical resourcesand a different second RAN slice comprising a fourth set of logicalresources.
 5. The system of claim 4, wherein the resource allocation isfor a first frame of the RAN and the second resource allocation is for aframe after the first frame.
 6. The system of claim 5, wherein the firstRAN slice is a low-latency network and the second RAN slice is a mobilebroadband network.
 7. The system of claim 1, wherein first resourceallocation comprises an indication of at least one of: a resource blockallocation; a time slot allocation; a numerology allocation; or amultiple-input and multiple-output (MIMO) layer allocation.
 8. A methodfor allocating resources of a radio access network (RAN), the methodcomprising: receiving communication requirements from a plurality ofservice level agreements (SLAs); retrieving a model that predicts anamount of compute resources needed to implement resource allocationconfigurations of a radio access network (RAN), the model being trainedon training data mapping changes in RAN resource configurations tocompute resources needed at one or more stages in a physical layersoftware processing pipeline; generating, using the retrieved model, aresource allocation configuration for a set of resources of the RANbased on the received communication requirements; and implementing theresource allocation by forming a first RAN slice comprising a first setof logical resources and a second RAN slice comprising a second set oflogical resources.
 9. The method of claim 8, wherein the set ofresources of the RAN comprises a local scheduler of the first RAN sliceto allocate the first set of logical resources among a set of devicesassociated with the first RAN slice.
 10. The method of claim 8, whereinthe generated resource allocation configuration for the set of resourcesof the RAN based on the received communication requirements is aresource allocation configuration having a lowest amount of computerequired.
 11. The method of claim 8, wherein generating the resourceallocation configuration for the set of resources of a RAN includes:receiving communication requirements for a plurality of different SLAs;generating, using the retrieved model, a second resource allocationconfiguration for the set of resources of the RAN based on the receivedcommunication requirements for the plurality of different SLAs; andimplementing the second resource allocation by forming a different firstRAN slice comprising a third set of logical resources and a differentsecond RAN slice comprising a fourth set of logical resources.
 12. Themethod of claim 11, wherein the resource allocation is for a first frameof the RAN and the second resource allocation is for a frame after thefirst frame.
 13. The method of claim 11, wherein the second resourceallocation comprises an indication of at least one of: a resource blockallocation; a time slot allocation; a numerology allocation; or amultiple-input and multiple-output (MIMO) layer allocation.
 14. Themethod of claim 8, further comprising: receiving an indication thatnetwork conditions of the RAN have changed; and generating a secondresource allocation configuration for the set of resources of the RANbased on the received communication requirements.
 15. A method forallocating resources of a radio access network (RAN) to form a first RANslice and a second RAN slice, the method comprising: receivingcommunication requirements from a plurality of service level agreements(SLAs); retrieving a model that predicts an amount of compute resourcesneeded to implement resource allocation configurations of a radio accessnetwork (RAN), the model being based on data mapping changes in RANresource configurations to compute resources needed at one or morestages in a physical layer software processing pipeline; receivingchannel state information associated with a device in communication withthe RAN; generating, using the retrieved model, a resource allocationconfiguration for a set of resources of the RAN based on the receivedcommunication requirements and the channel state information; andimplementing the resource allocation, thereby forming the first RANslice comprising a first set of logical resources and the second RANslice comprising a second set of logical resources.
 16. The method ofclaim 15, wherein the generated resource allocation configuration forthe set of resources of the RAN based on the received communicationrequirements and the channel state information is a resource allocationconfiguration having a lowest amount of compute required.
 17. The methodclaim 15, wherein generating the resource allocation configuration forthe set of resources of a RAN includes: receiving communicationrequirements for a plurality of different SLAs; generating, using themodel, a second resource allocation configuration for the set ofresources of the RAN based on the received communication requirementsfor the plurality of different SLAs; and implementing the secondresource allocation, thereby forming a different first RAN slicecomprising a third set of logical resources and a different second RANslice comprising a fourth set of logical resources.
 18. The method ofclaim 17, wherein the resource allocation comprises an indication of atleast one of: a resource block allocation; a time slot allocation; anumerology allocation; or a multiple-input and multiple-output (MIMO)layer allocation.
 19. The method of claim 17, wherein the resourceallocation is for a first frame of the RAN and the second resourceallocation is for a frame after the first frame.
 20. The method of claim15, wherein the first RAN slice is a low-latency network and the secondRAN slice is a mobile broadband network.